<template>
  <!-- 此处可删去 :data-numbox-max="max"  因为已使用watch监听max并设置最大值 -->
  <div class="mui-numbox shopcar-nobox" data-numbox-min="1">
    <button class="mui-btn mui-btn-numbox-minus" type="button">-</button>
    <input
      id="test"
      class="mui-input-numbox"
      type="number"
      :value="initcount"
      @change="countChanged"
      ref="nobox"
    />
    <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
  </div>
</template>

<script>
// 导入 mui 从而支持 初始化 数字框
import mui from "../../../lib/mui/js/mui";
import { mapMutations } from "vuex";
export default {
  data() {
    return {};
  },
  methods: {
    ...mapMutations(["updateCart"]),
    countChanged() {
      // this.$refs.nobox.value返回一个字符串，需要使用parseInt转换为数字类型
      const val = parseInt(this.$refs.nobox.value);
      this.updateCart({
        id: this.id,
        count: val,
      });
    },
  },
  mounted() {
    // 当组件挂载到页面中之后，去初始化 数字框
    mui(".mui-numbox").numbox();
  },
  props: ["initcount", "id"],
};
</script>

<style lang="scss" scoped>
.shopcar-nobox {
  height: 25px;
}
</style>